<?php
abstract class DomBankLink {
	
	/**
	 * @var String
	 */
	protected $name;
	/**
	 * @var String
	 */
	protected $defaultCallbackUrl;
	
	/**
	 * @param String $name
	 * @return DomBankPayment
	 */
	public static function c( $name = NULL ) {
		$cl = get_called_class();
		return new $cl( $name );
	}
	
	/**
	 * @param String $profileName
	 */
	public function __construct( $name = NULL ) {
		$this->name = $name;
	}
	
	/**
	 * @param String $name
	 * @return DomBankPayment
	 */
	public function setDefaultCallbackUrl( $name ) {
		$this->profileName = $name;
		return $this;
	}
	
	
	abstract public function getPaymentLink();
	
	
	abstract public function startPayment();
	
	abstract public function handlePaymentCallback( );
	
	
	abstract public function startIdentify();
	
	abstract public function handleIdentifyCallback();
	
	
}
?>